More and more sophisticated communication applications are becoming multi-party oriented. Multicast teleconferencing and multicast Ethernet video conferencing, and applications run over 802.16J wireless networks are examples of such multi-party communication applications. It's necessary to design secure protocols to protect the communication among the multiple participants in such applications.
Communications between participants can be securely protected by encrypting the communications in known ways. According to some protocols, parties to communications share a group key that is used to secure communications between the parties. Some method must be developed for the generation and distribution of this group key amongst the participants. There are a variety of practical requirements to satisfy a particular application, for example: the size of the multi-party communication; the size of the group key; the communication overhead involved with the distribution of the key; the computational overhead involved with the generation of the key; and the trust mode established through authentication.
In accordance with one known solution, each party in the group establishes pair-wise keys with every other peer in the group (“peer-to-peer keys”). This solution is not very practical or scalable in a sizable group as the number of participants increase, as the communication and computation overhead will exponentially increase. In accordance with another known solution, the production of the group encryption key is totally centralized and is independent of the membership of the group. A central key generator generates a key and refreshes it at fixed intervals, and distributes it to all the other participants. In this case, the distribution channel must be secured through encryption. And, the solution can't prevent the passive and active attack. Furthermore, the group key in this case cannot reflect the dynamic composition of the group at any moment and thus is prone to forward and backward security breaches.
What is needed is a group key generation and distribution algorithm that can provide efficient protection for the multi-party communication applications, while avoiding the shortcomings of the prior art solutions.